// console.log(process.argv);
// readFile()
// readFileSync()
// writeFile()
// writeFileSync()
// exists(path,callback)
// mkdir()
// mkdirSync()
// readdir()
// readdirSync()
// stat() ----相关文件的信息
// watchfile()----监视文件的更改
// unwatchfile()----取消监视
// createReadStream()
// createwriteStream()

// fs.readFile("./111.txt","utf-8",(err,buffer)=>{
// 	   if(err) throw err;
// 	   console.log(buffer)
// })


// let aa=fs.readFileSync("./111.txt","utf-8");

// console.log(aa);
//拷贝多级目录
let {existsSync,mkdirSync,readdirSync,statSync,copyFileSync}= require("fs");

const path=require("path");

//src 旧文件夹地址
//dist 新文件夹地址
function copydir(src,dist){
	//判断原文件夹路径新文件夹路径是否存在,有这个文件就不创建,没有这个文件,创建以下
	if(existsSync(src)){
		if(!existsSync(dist)){
			mkdirSync(dist)
		}
	}else{
		console.log("文件夹不存在拷贝个p")
		return;
	}
	
	//循环遍历这个原文件夹
	//readdirSync ---遍历文件夹得到所有文件组成数组
	let dirs=readdirSync(src);
	
	dirs.forEach((item,index)=>{
		//每一项都需要判断是不是文件
		if(statSync(path.join(src,item)).isFile()){
			//是文件,直接拷贝,拷贝--是原地址---拷贝到哪里,所以有一个新地址
			//copyFileSync(原地址,新地址)
			copyFileSync(path.join(src,item),path.join(dist,item))
		}else{
			//是一个文件夹
			//再次执行本函数
			copydir(path.join(src,item),path.join(dist,item))
		}
	})
	
	
	
}

copydir("./a","./liushuaidong")